package com.tarry.scheduler;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

@Service
public class ScheduleTaskService {
    private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss");

    @Scheduled( fixedRate = 5000)
    public void reportCurrentTime(){
        System.out.println("每隔五秒执行一次 " + DATE_FORMAT.format(new Date()));
    }

    //每天21点50分执行
    //从左到右依次是：秒、分、时、日、月、周几、年（可省略）
    // 0 * * * * *：每分钟（当秒为0的时候）
    // 0 0 * * * *：每小时（当秒和分都为0的时候）
    // */10 * * * * *：每10秒
    // 0 5/15 * * * *：每小时的5分、20分、35分、50分
//     0 0 9,13 * * *：每天的9点和13点
//     0 0 8-10 * * *：每天的8点、9点、10点
//     0 0/30 8-10 * * *：每天的8点、8点半、9点、9点半、10点
//     0 0 9-17 * * MON-FRI：每周一到周五的9点、10点…直到17点（含）
//     0 0 0 25 12 ?：每年12约25日圣诞节的0点0分0秒（午夜)
//     0 30 10 * * ? 2016：2016年每天的10点半
    @Scheduled( cron = "0 50 21 ? * *")
    public void fixTimeExecution(){
        System.out.println("在指定时间：" + DATE_FORMAT.format(new Date()) + " 执行");
    }

}
